برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 1 از مجموع 1
  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    برنامه مربوط به چت _ chat

    کلاس client:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;

    namespace winHTTP
    {
    public partial class Client1 : Form
    {
    public Client1()
    {
    InitializeComponent();
    }

    private void Client1_Load(object sender, EventArgs e)
    {
    tcpconnect();

    }
    private void tcpconnect()
    {

    TcpClient tcp = new TcpClient("localhost", 8080);

    tcp.NoDelay = false;

    tcp.ReceiveTimeout = 60000;

    tcp.ReceiveBufferSize = 25000;

    NetworkStream stream = tcp.GetStream();


    byte[] send = Encoding.ASCII.GetBytes("GET / HTTP/1.1\r\nHOST: LOCALHOST\r\n\r\n");

    stream.Write(send, 0, send.Length);

    byte[] receive = new byte[tcp.ReceiveBufferSize];

    stream.Read(receive, 0, tcp.ReceiveBufferSize);

    string str = Encoding.ASCII.GetString(receive, 0, tcp.ReceiveBufferSize);

    textBox1.Text = str;

    stream.Close();

    tcp.Close();
    }

    }
    }


    ;کلاس کاربردی:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.Sockets;
    using System.IO;

    namespace winHTTP
    {
    static class clsUtility
    {
    public static void writeToStream(NetworkStream ns, string str)
    {
    StreamWriter writer = new StreamWriter(ns);
    writer.Write(str);
    writer.Flush();

    //byte[] b;
    //b = Encoding.ASCII.GetBytes(str);
    //ns.Write(b, 0, b.Length);
    }
    public static string readFromStream(NetworkStream ns)
    {
    StreamReader reader = new StreamReader(ns);
    string str = reader.ReadLine();
    return str;

    //int i;
    //byte[] b = new byte[25000];
    //ns.Read(b, 0, b.Length);
    //for (i = 0; i < b.Length; i++)
    //{
    // if (b[i] == '\0')
    // {

    // break;
    // }
    //}
    //byte[] c = new byte[i];
    //for (int j = 0; j < i; j++)
    //{
    // c[j] = b[j];
    //}
    //return Encoding.ASCII.GetString(c);

    }

    }
    }


    form1:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Net.Sockets;
    using System.IO;

    namespace winHTTP
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    tcpconnect();
    }
    private void tcpconnect()
    {

    TcpClient tcp = new TcpClient("localhost", 80);

    tcp.NoDelay = false;

    tcp.ReceiveTimeout = 60000;

    tcp.ReceiveBufferSize = 25000;

    NetworkStream stream = tcp.GetStream();


    byte[] send = Encoding.ASCII.GetBytes("GET / HTTP/1.1\r\nHOST: LOCALHOST\r\n\r\n");

    stream.Write(send, 0, send.Length);

    byte[] receive = new byte[tcp.ReceiveBufferSize];

    stream.Read(receive, 0, tcp.ReceiveBufferSize);

    string str = Encoding.ASCII.GetString(receive, 0, tcp.ReceiveBufferSize);

    textBox1.Text = str;

    stream.Close();

    tcp.Close();
    }

    }
    }


    form2:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;


    using System.Net;
    using System.IO;

    namespace winHTTP
    {
    public partial class Form2 : Form
    {
    public Form2()
    {
    InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
    WebRequest w= HttpWebRequest.Create("http://localhost/");
    WebResponse r= w.GetResponse();
    Stream s= r.GetResponseStream();

    byte[] receive = new byte[25000];
    s.Read(receive, 0, 25000);
    string str = Encoding.ASCII.GetString(receive, 0, 25000);
    textBox1.Text = str;
    }
    }
    }


    form3:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Net;
    using System.Net.Sockets;


    namespace winHTTP
    {
    public partial class Form3 : Form
    {
    public Form3()
    {
    InitializeComponent();
    }

    private void Form3_FormClosed(object sender, FormClosedEventArgs e)
    {

    }

    private void Form3_Load(object sender, EventArgs e)
    {
    //فقط یکبار، یک دستور می گیرد و اجرا می کند
    //کار میکند send فقط با
    Server();
    this.Close();
    }

    private void Server()
    {

    //IPAddress localip = IPAddress.Parse( "127.0.0.1" );

    try
    {
    TcpListener listener = new TcpListener(8080);
    listener.Start();

    Socket s = listener.AcceptSocket();
    NetworkStream ns = new NetworkStream(s);
    //StreamReader reader = new StreamReader(ns);
    //string str = reader.ReadLine();

    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    //StreamWriter writer = new StreamWriter(ns);
    //writer.Write("200 aleyk");
    //writer.Flush();

    clsUtility.writeToStream(ns, "200 aleyk");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye");
    }
    else
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }
    ns.Close();
    s.Close();
    listener.Stop();
    }
    catch (Exception)
    {

    throw;
    }



    }
    }
    }


    form4:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Net;

    namespace winHTTP
    {
    public partial class Form4 : Form
    {
    public Form4()
    {
    InitializeComponent();
    }

    private void Form4_Load(object sender, EventArgs e)
    {
    //فقط به یک نفر جواب می دهد اما می تواند از او چند دستور بگیرد
    //while (true)
    Server();
    }
    private void Server()
    {

    IPAddress localip = IPAddress.Parse("127.0.0.1");

    TcpListener listener = new TcpListener(localip, 8080);
    listener.Start();


    Socket s = listener.AcceptSocket();
    NetworkStream ns = new NetworkStream(s);

    while (true)
    {
    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    clsUtility.writeToStream(ns, "200 aleyk\r\n");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye\r\n");
    }
    else if (str.ToLower() == "close")
    {
    clsUtility.writeToStream(ns, "200 closed\r\n");
    break;
    }
    else if (str.ToLower() != "")
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }
    }
    ns.Close();
    s.Close();

    listener.Stop();
    }

    private void Form4_FormClosed(object sender, FormClosedEventArgs e)
    {
    //Environment.Exit(Environment.ExitCode);
    }
    }
    }


    form5:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Net;

    namespace winHTTP
    {
    public partial class Form5 : Form
    {
    public Form5()
    {
    InitializeComponent();
    }

    private void Form5_Load(object sender, EventArgs e)
    {
    //فقط به یک نفر یکبار جواب می دهد اما می تواند از او چند دستور بگیرد
    // shouldbeListen

    Server();
    this.Close();

    }
    private void Server()
    {

    IPAddress localip = IPAddress.Parse("127.0.0.1");

    TcpListener listener = new TcpListener(localip, 8080);
    listener.Start();


    Socket s = listener.AcceptSocket();
    NetworkStream ns = new NetworkStream(s);

    string strcommand="";
    bool shouldBeListen = true;

    while (shouldBeListen)
    {
    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    clsUtility.writeToStream(ns, "200 aleyk\r\n");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye\r\n");
    }
    else if (str.ToLower() == "close")
    {
    clsUtility.writeToStream(ns, "200 closed\r\n");
    shouldBeListen = false;
    }
    else if (str.ToLower() != "")
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }

    }
    ns.Close();
    s.Close();

    listener.Stop();

    }

    }
    }


    form6:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Net;

    namespace winHTTP
    {
    public partial class Form6 : Form
    {
    public Form6()
    {
    InitializeComponent();
    }

    private void Form6_Load(object sender, EventArgs e)
    {
    Server();

    //میتواند به دو نفر جواب دهد اما نفر دوم باید صبر کند تا کار اولی تمام شود
    // نمی شود هیچ وقت سرور را بست
    }
    private void Server()
    {

    IPAddress localip = IPAddress.Parse("127.0.0.1");

    TcpListener listener = new TcpListener(localip, 8080);
    listener.Start();


    while (true)
    {
    Socket s = listener.AcceptSocket();
    //Socket s2 = listener.AcceptSocket();
    NetworkStream ns = new NetworkStream(s);

    bool shouldBeListen = true;

    while (shouldBeListen)
    {
    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    clsUtility.writeToStream(ns, "200 aleyk\r\n");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye\r\n");
    }
    else if (str.ToLower() == "close")
    {
    clsUtility.writeToStream(ns, "200 closed\r\n");
    shouldBeListen = false;
    break;
    }
    else if (str.ToLower() != "")
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }

    }
    ns.Close();
    s.Close();

    }
    listener.Stop();

    }

    }
    }


    form7:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Net;
    using System.Net.Sockets;
    using System.Threading;

    namespace winHTTP
    {
    public partial class Form7 : Form
    {
    public Form7()
    {
    InitializeComponent();
    }

    private void Form7_Load(object sender, EventArgs e)
    {
    Thread t = new Thread(new ThreadStart(Server));
    //t.IsBackground = true;
    t.Start();
    //میتواند به دو نفر جواب دهد اما نفر دوم باید صبر کند تا کار اولی تمام شود
    // حالا میشود سرور را بست
    }

    private void Form7_FormClosing(object sender, FormClosingEventArgs e)
    {
    Environment.Exit(Environment.ExitCode);
    }

    private void Server()
    {

    IPAddress localip = IPAddress.Parse("127.0.0.1");

    TcpListener listener = new TcpListener(localip, 8080);
    listener.Start();


    while (true)
    {
    Socket s = listener.AcceptSocket();
    NetworkStream ns = new NetworkStream(s);

    bool shouldBeListen = true;

    while (shouldBeListen)
    {
    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    clsUtility.writeToStream(ns, "200 aleyk\r\n");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye\r\n");
    }
    else if (str.ToLower() == "close")
    {
    clsUtility.writeToStream(ns, "200 closed\r\n");
    shouldBeListen = false;
    break;
    }
    else if (str.ToLower() != "")
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }

    }
    ns.Close();
    s.Close();

    }
    listener.Stop();

    }



    }
    }


    form8:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Threading;
    using System.Net;

    namespace winHTTP
    {
    public partial class Form8 : Form
    {
    public Form8()
    {
    InitializeComponent();
    }
    private void Form8_Load(object sender, EventArgs e)
    {
    //Server();
    Thread t = new Thread(new ThreadStart(Server));
    t.Start();
    //میتواند به دو نفر همزمان جواب دهد
    // حالا میشود سرور را بست
    }

    private void Form8_FormClosing(object sender, FormClosingEventArgs e)
    {
    listener.Stop();
    Environment.Exit(Environment.ExitCode);
    }

    TcpListener listener;
    Socket s;

    private void Server()
    {

    IPAddress localip = IPAddress.Parse("127.0.0.1");
    listener = new TcpListener(localip, 8080);
    //TcpListener listener = new TcpListener(8080);

    listener.Start();


    while (true)
    {

    lock (this)
    {
    s = listener.AcceptSocket();
    Thread t = new Thread(new ThreadStart(ListenIt));
    t.Start();
    }
    }

    }

    private void ListenIt()
    {
    Socket sok = s;
    NetworkStream ns = new NetworkStream(sok);

    string strcommand = "";
    bool shouldBeListen = true;

    while (shouldBeListen)
    {
    string str = clsUtility.readFromStream(ns);
    if (str.ToLower() == "salam")
    {
    clsUtility.writeToStream(ns, "200 aleyk\r\n");
    }
    else if (str.ToLower() == "bye")
    {
    clsUtility.writeToStream(ns, "200 bye\r\n");
    }
    else if (str.ToLower() == "close")
    {
    clsUtility.writeToStream(ns, "200 closed\r\n");
    shouldBeListen = false;
    break;
    }
    else if (str.ToLower() != "")
    {
    clsUtility.writeToStream(ns, "420 unknown command");
    }

    }
    ns.Close();
    sok.Close();


    }

    }
    }


    اینم فایل کامل برنامه:

    IT1(1390-09-12)

    موضوعات مشابه:
    آرامش محصول تفکر نیست! آرامش هنر نیندیشیدن به انبوه مسائلیست که ارزش فکر کردن ندارد...

 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 05:21 AM بر حسب GMT +4 می باشد.